<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>文章新增</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="./css/reset.css">
    <link rel="stylesheet" href="./css/iconfont.css">
    <link rel="stylesheet" href="./css/main.css">
    <link rel="stylesheet" href="./libs/layui/css/layui.css">
    <link rel="stylesheet" href="./libs/layui/css/modules/layer/default/layer.css">
    <!-- jq -->
    <script src="/libs/jquery/jquery.min.js"></script>
    <script src="/libs/tinymce_5.5.1/tinymce.min.js"></script>
    <script src="/libs/tinymce/jquery.tinymce.min.js"></script>
    <script src="/libs/layui/layui.js"></script>
    <script src="/libs/art-template/template-web.js"></script>
    <script src="/js/http.js"></script>
    <script src="/libs/layui/lay/modules/layer.js"></script>
    <script src="/libs/jquery-1.12.4.min.js"></script>
    <script id="art_category" type="text/html">
        {{each data}}
        <option value="{{$value.id}}">{{$value.name}}</option>
        {{/each}}
    </script>
</head>

<body>
    <div class="container-fluid">
        <div class="common_title">
            文章新增
        </div>
        <div class="container-fluid common_con">
            <form class="form-horizontal article_form" id="form">
                <div class="form-group">
                    <label for="inputTitle" class="col-sm-2 control-label">文章标题：</label>
                    <div class="col-sm-10">
                        <input type="text" name="title" required class="form-control title" id="inputTitle"
                            placeholder="文章标题文字">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputCover" class="col-sm-2 control-label">文章封面：</label>
                    <div class="col-sm-10">
                        <img id="coverimg" src="./images/2.jpg" class="article_cover">
                        <!-- 触发onchange事件后会自动像调用的函数中传入当前选中的文件对象数组 -->
                        <input name="cover" type="file" id="inputCover" onchange="changeCoverImage(this.files)">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputCategory" class="col-sm-2 control-label">文章类别：</label>
                    <div class="col-sm-4">
                        <select id="category" class="form-control category" name="categoryId">

                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-2 control-label">发布时间：</label>
                    <div class="col-sm-4">
                        <input id="articleDate" name='date' class="jeinput form-control title" type="text"
                            placeholder="请选择发布日期" readonly>
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputEmail3" class="col-sm-2 control-label">文章内容：</label>
                    <div class="col-sm-10">
                        <!-- 富文本编辑区域 -->
                        <textarea id="articleContent"></textarea>
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-2 col-sm-10">
                        <button type="button" class="btn btn-success btn-edit" onclick="saveArticle('已发布')">发布</button>
                        <button type="button" class="btn btn-default btn-draft"
                            onclick="saveArticle('草稿')">存为草稿</button>

                    </div>
                </div>
            </form>
        </div>
    </div>
    <script>
        $(function () {
            init_tinymce();
            init_date();

            get_category();
        })

        // 1.0 初始化富文本插件
        function init_tinymce() {
            tinymce.init({
                selector: '#articleContent', // 表单中id为articleContent的textarea元素
                language: 'zh_CN'
            });
        }

        // 2.0 初始化日期插件
        function init_date() {
            // 使用laydate模块
            layui.use('laydate', function () {
                var laydate = layui.laydate;
                //执行一个laydate实例
                laydate.render({
                    elem: '#articleDate' //将日期选择面板绑定到id为articleDate的input元素上
                });
            });
        }

        // 3.0 获取文章分类
        function get_category() {
            http('GET', '/admin/category/list', null, function (resData) {
                let optionHtml = template('art_category', resData);
                $('#category').html(optionHtml);
            })
        }

        // 4.0 发表文章
        function saveArticle(type) {
            // 获取form表单对象
            let form = $('#form')[0];

            // 根据form表单中的数据创建对象,不包括富文本
            let formData = new FormData(form);
            // 获取富文本框中编写的内容
            var content = tinyMCE.editors['articleContent'].getContent();
            // 将富文本内容添加到formData对象中
            formData.append('content', content);

            // type如果不是草稿，则固定填写“已发布”
            if (type !== '草稿') {
                formData.append('state', '已发布');
            } else {
                // 如果是草稿则填写空
                formData.append('state', '');
            }
            // for (var value of formData.values()) {
            //     console.log(value);
            // }
            //  将内容提交给发布接口
            http('POST', '/admin/article/publish', formData,
                function (resData) {
                    // 将iframe的src地址指向./article_list.html完成跳转到文章列表页面的跳转
                    window.parent.document.querySelector('#iframe').setAttribute('src', './article_list.html');
                })
        }

        // 5.0 注册文章封面图片onchange事件
        function changeCoverImage(files) {
            // 由于是单选图片，所以取files数组中的第一个元素就是我们选择的图片对象
            let file = files[0];
            // 根据图片对象创建一个本地的url路径
            let url = URL.createObjectURL(file);
            // 将url设置给img的src属性，显示图片
            $('#coverimg').attr('src', url);
        }
    </script>
</body>

</html>